<?php
namespace core;

use core\http\Request;
use PHPUnit\Framework\TestCase as BaseTestCase;
use Psr\Http\Message\RequestInterface;

class TestCase extends BaseTestCase
{
//    protected $response; // 路由请求响应的结果
    // 基境共享
    protected function setUp(): void
    {
        require_once __DIR__ . '/../app.php';
    }
//    // 调用路由
//    public function call($uri,$method,$params=[])
//    {
//
//        \App::getContainer()->bind(RequestInterface::class,function () use ($uri,$method){ // 将request绑定到容器
//            return Request::create([
//                'REQUEST_METHOD'=>$method,
//                'REQUEST_URI'=>$uri,
//            ]);
//        });
//
//
//        return $this->response = app('response')->setContent( // 响应
//            app('route')->dispatch( // 路由
//                \App::getContainer()->get(RequestInterface::class) // 调用绑定request
//            )
//        );
//    }
//
//    // get方式调用
//    public function get($uri,$params = [])
//    {
//        $this->call($uri,'GET',$params);
//        return $this;
//    }
//
//    // post方式调用
//    public function post($uri,$params = [])
//    {
//        $this->call($uri,'POST',$params);
//        return $this;
//    }
//
//    // 断言状态码是否一样
//    protected function assertStatusCode($status)
//    {
//
//        $this->assertEquals($status, $this->response->getStatusCode());
//        return $this;
//    }
//
//    // 代理模式 访问response
//    public function __call($name, $arguments)
//    {
//        return $this->response->{$name}(... $arguments);
//    }

}